using System;
using Rdl;

namespace GTame.ReportParser
{

    public class DataGroupingType
    {

        private CustomPropertiesType _CustomProperties;
        private DataGroupingsType _DataGroupings;
        private GroupingType _Grouping;
        private SortingType _Sorting;
        private Nullable<bool> _Static;
        private Nullable<bool> _Subtotal;

        public CustomPropertiesType CustomProperties
        {
            get
            {
                if (_CustomProperties == null)
                    _CustomProperties = new CustomPropertiesType();
                return _CustomProperties;
            }
            set
            {
                _CustomProperties = value;
            }
        }

        public DataGroupingsType DataGroupings
        {
            get
            {
                if (_DataGroupings == null)
                    _DataGroupings = new DataGroupingsType();
                return _DataGroupings;
            }
            set
            {
                _DataGroupings = value;
            }
        }

        public GroupingType Grouping
        {
            get
            {
                if (_Grouping == null)
                    _Grouping = new GroupingType();
                return _Grouping;
            }
            set
            {
                _Grouping = value;
            }
        }

        public SortingType Sorting
        {
            get
            {
                if (_Sorting == null)
                    _Sorting = new SortingType();
                return _Sorting;
            }
            set
            {
                _Sorting = value;
            }
        }

        public Nullable<bool> Static
        {
            get
            {
                return _Static;
            }
            set
            {
                _Static = value;
            }
        }

        public Nullable<bool> Subtotal
        {
            get
            {
                return _Subtotal;
            }
            set
            {
                _Subtotal = value;
            }
        }

        public DataGroupingType()
        {
            _Static = new Nullable<bool>[]();
            _Subtotal = new Nullable<bool>[]();
        }

        public DataGroupingType Write()
        {
            // trial
            return null;
        }

    } // class DataGroupingType

}

